package cz.data.domain.market.service;

import cz.data.common.mybatis.BaseService;
import com.aspose.words.Document;
import cz.data.domain.market.model.entity.DataApiEntity;
import cz.data.domain.market.model.dto.DataApiDto;
import cz.data.domain.market.model.dto.SqlParseDto;
import cz.data.domain.market.model.vo.SqlParseVo;

import java.util.List;
import java.util.Map;

public interface DataApiService extends BaseService<DataApiEntity> {

    void saveDataApi(DataApiDto dataApi);

    void updateDataApi(DataApiDto dataApi);

    DataApiEntity getDataApiById(String id);

    void deleteDataApiById(String id);

    void deleteDataApiBatch(List<String> ids);

    DataApiEntity getDataApiByMethodAndApiUrl(String method, String apiVersion, String apiUrl);

    SqlParseVo sqlParse(SqlParseDto sqlParseDto);

    void copyDataApi(String id);

    void releaseDataApi(String id);

    void cancelDataApi(String id);

    Document wordDataApi(String id) throws Exception;

    Map<String, Object> getDataApiDetailById(String id);
}
